home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 June
/
EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso
/
earcd
/
texts
/
rdg2html.lha
/
RDAG2HTML
next >
Wrap
Text File
|
1996-04-13
|
4KB
|
189 lines
/*
RexxDoesAmigaGuide2HTML V1.0 written at 11 Apr 1996 by Michael Ranner
This piece of code is Public Domain. Use it, distribute it, modify it!
*/
arg opt
if index(opt, '?') ~= 0 then do
say 'Source/A Dest/A SingleFile/S'
exit
end
if index(opt, 'SINGLEFILE') ~= 0 then do
single = 1
opt = delword(opt, find(opt, 'SINGLEFILE'))
end
else single = 0
call open('Guide', word(opt, 1), 'R')
if single = 1 then do
open('HTML', word(opt, 2),'W')
open = 1
srcline = readln('Guide')
if upper(word(srcline, 1)) = '@DATABASE' then do
writeln('HTML', '<HTML>')
writeln('HTML', '<HEAD>')
writech('HTML', '<TITLE>')
writech('HTML', word(srcline, 2))
writeln('HTML', '</TITLE>')
writeln('HTML', '<BODY>')
end
else do
say "That's not a AmigaGuide file!"
exit
end
end
do until eof('Guide') = 1
srcline = readln('Guide')
index = index(srcline, '&')
do while index ~= 0
srcline = insert('amp;', srcline, index)
index = index(srcline, '&', index + 1)
end
index = index(srcline, '<')
do while index ~= 0
srcline = insert('lt;', srcline, index)
srcline = overlay('&', srcline, index)
index = index(srcline, '<', index + 1)
end
index = index(srcline, '>')
do while index ~= 0
srcline = insert('gt;', srcline, index)
srcline = overlay('&', srcline, index)
index = index(srcline, '>', index + 1)
end
if index(srcline, '@') ~= 0 then do
token = upper(word(srcline, 1))
select
when token = '@AUTHOR' then do
say 'Author: ' || subword(srcline, 2)
end
when token = '@$VER:' then do
say 'Version: ' || subword(srcline, 2)
end
when token = '@REMARK' then do
say 'Remark: ' || subword(srcline, 2)
end
when token = '@NODE' then do
node = compress(word(srcline, 2), ' "')
say 'Node:' node
if upper(node) = 'MAIN' then do
main = 1
node = upper(node)
end
else main = 0
if single = 1 then do
writeln('HTML', '<A NAME="' || node || '"></A>')
writeln('HTML', '<PRE>')
end
else do
open('HTML', compress(node, ' "').HTML, 'W')
open = 1
prev = ''
next = ''
writeln('HTML', '<HTML>')
writeln('HTML', '<HEAD>')
writech('HTML', '<TITLE>')
writech('HTML', word(srcline, 2))
writeln('HTML', '</TITLE>')
writeln('HTML', '<BODY>')
writeln('HTML', '<PRE>')
end
end
when token = '@NEXT' then do
next = compress(word(srcline, 2), ' "')
end
when token = '@PREV' then do
prev = compress(word(srcline, 2), ' "')
end
when token = '@ENDNODE' then do
writeln('HTML', '</PRE><P>')
if single = 0 then do
writeln('HTML', '<HR>')
if main = 0 then writeln('HTML', '<A HREF="MAIN.HTML">[Main]</A>')
if prev ~= '' then writeln('HTML', '<A HREF="' || prev || '.HTML">[Prev]</A>')
if next ~= '' then writeln('HTML', '<A HREF="' || next || '.HTML">[Next]</A>')
writeln('HTML', '<P>Converted at 'date()' with RexxDoesAmigaGuide2HTML by <a href="http://www.sbox.tu-graz.ac.at/home/rmike">Michael Ranner</a>.')
writeln('HTML','</BODY>')
call close('HTML')
open = 0
end
end
otherwise do
dstline = ''
do while srcline ~= ''
PARSE VAR srcline start '@{' text '}' srcline
token = upper(text)
select
when token = 'I' then dstline = dstline || start || '<I>'
when token = 'UI' then dstline = dstline || start || '</I>'
when token = 'B' then dstline = dstline || start || '<B>'
when token = 'UB' then dstline = dstline || start || '</B>'
otherwise do
PARSE VAR text '"' name '"' token node .
token = upper(token)
name = compress(name,'"')
node = compress(node,'"')
if token = 'LINK' then do
if single = 1 then dstline = dstline || start || '<A HREF="#' || node || '">' || name || '</A>'
else dstline = dstline || start || '<A HREF="' || node || '.HTML">' || name || '</A>'
end
else dstline = dstline || start
end
end
end
if open = 1 then do
if (index(dstline, '@') = 1) then writeln('HTML', '')
else writeln('HTML', dstline)
end
end
end
end
else if open = 1 then writeln('HTML', srcline)
end
if single = 1 then do
writeln('HTML', '<HR>')
writeln('HTML', 'Converted at 'date()' with RexxDoesAmigaGuide2HTML by <a href="http://www.sbox.tu-graz.ac.at/home/rmike">Michael Ranner</a>.')
writeln('HTML','</BODY>')
close('HTML')
end
close('Guide')